import { Ref } from 'vue'

export interface langType {
  [key: string]: string
}

export interface BasicListModel {
  total: Number
  totalPages: Number
  pageIndex: Number
  pageSize: Number
  dataList: Array<any>
}

export interface Basic {
  data: Object
  message: String
  code: Number
}

export interface BasicViewModel {
  id: Number
  creator: Number
  creationDate: String
  lsdModifier: Object
  modifiedDate: Object
  deliveryNo: String
  deliveryStatus: String
  model: String
  msn: String
  workStation: String
  fileNum: String
  fileName: String
  sourceFrom: String
  sourceNo: String
  workOrderNum: String
  workOrderType: String
  factory: String
  alterMark: Object
  isChange: Object
  executor: Object
  executorDisplay: Object
  excuteDate: Object
  alterCount: Object
  alterUser: Object
  alterUseDisplay: Object
  alterDate: Object
  cancelUser: Object
  cancelDisplay: Object
  cancelDate: Object
  creatorDisplay: String
  lsdModifierDisplay: Object
  detailList: {
    id: Number
    creator: Number
    creationDate: String
    lsdModifier: Object
    modifiedDate: Object
    deliveryNoticeId: Number
    deliveryTaskId: Object
    materialCode: String
    materialName: String
    materialDesc: Object
    brand: Object
    lineNumber: Object
    matVersion: Object
    unit: String
    requiredQuantity: Number
    isShelfMat: Boolean
    comment: Object
    deliveryMode: String
    deliveredDate: Object
    deliveredUser: Object
    deliveredUserDisplay: Object
    deliveredStatus: Object
    deliveredCount: Number
    alterMark: Object
    isChange: Object
    status: Object
    creatorDisplay: String
    lsdModifierDisplay: Object
  }[]
}

export interface Hook {
  (needAll?: Boolean): Promise<HookRes>
}

export interface HookRes {
  loading: Ref<Boolean>
  allSkills: Array<String>
  allInterest: Array<String>
  userInfo: Partial<UserInfo>
}
